home *** CD-ROM | disk | FTP | other *** search
- #ifndef __DCC_QUEUE_H_
- #define __DCC_QUEUE_H_
-
- #include "dcc-chat.h"
-
- enum {
- DCC_QUEUE_NORMAL,
- DCC_QUEUE_PREPEND,
- DCC_QUEUE_APPEND
- };
-
- typedef struct {
- CHAT_DCC_REC *chat;
- char *servertag;
- char *nick;
- char *file;
- int passive; /* for passive DCCs */
- } DCC_QUEUE_REC;
-
- /* create a new queue. returns it's designation number (int) */
- int dcc_queue_new(void);
-
- void dcc_queue_free(int queue);
-
- /* finds an old queue and returns it's designation number (int). if not
- found return -1 */
- int dcc_queue_old(const char *nick, const char *servertag);
-
- /* adds nick/fname/servertag triplet into queue */
- void dcc_queue_add(int queue, int mode, const char *nick, const char *fname,
- const char *servertag, CHAT_DCC_REC *chat);
- void dcc_queue_add_passive(int queue, int mode, const char *nick,
- const char *fname, const char *servertag,
- CHAT_DCC_REC *chat);
-
- int dcc_queue_remove_head(int queue);
-
- int dcc_queue_remove_tail(int queue);
-
- /* return the first entry from queue */
- DCC_QUEUE_REC *dcc_queue_get_next(int queue);
-
- GSList *dcc_queue_get_queue(int queue);
-
- void dcc_queue_init(void);
- void dcc_queue_deinit(void);
-
- #endif
-